package com.nineclock.system.service;

import com.nineclock.attendance.dto.DepartmentOrUserSimpleDTO;
import com.nineclock.system.dto.SysDepartmentDTO;

import java.util.List;

public interface SysDepartmentService {

    /**
     * 查询公司的部门列表
     * @return
     */
    public List<SysDepartmentDTO> queryDepartmentList();

    /**
     * 查询企业ID下的所有顶级部门ID
     * @return
     */
   public List<Long> queryDepartmentIds();

    /**
     *  根据部门ID查询子部门及员工列表
     * @param departmentId
     * @param includeMember
     * @return
     */
   public List<DepartmentOrUserSimpleDTO> querySimpleDepartment(Long departmentId, Integer includeMember);

    /**
     *  根据员工id获得部门从低到高级别的部门ID数组
     * @param companyUserId
     */
    List<Long> queryDepartmentsByUserId(Long companyUserId);
}
